1 感知机模型
输入空间 , 输出空间间 . 函数函数 称为称为感知机 .
- 相当于一个超平面,将空间上的点切分为两部分. 感知机模型的任务就是,如果理论上存在一个切分点的超平面,则找到它, 将点正确分到正例与负例.
- 这里将两个尺寸相同的列向量相乘默认为逐元素相乘,得到的值为实数.
2 感知机学习策略
2.1 数据集的线性可分性
给定数据集 , . 如果存在超平面 , 可以将数据点完全正确地划分,则称数据集 是线性可分数据集.
2.2 感知机学习策略
选取误分类点到超平面的总距离作为损失函数(因为这关于参数是可导的). 首先给出点到超平面的距离公式: 这里使用了 的特性: 在误分类点中, 与 的符号始终相反. 因此,如果记误分类点的集合为 , 将上述距离相加,推导出损失函数为
注意到这个表达式里去掉了 系数,这是因为在线性可分的假设下,我们的目标是让 严格等于 , 因此去掉这项系数不会影响最后的目标,但可以简化求导计算.
3 感知机学习算法
3.1 感知机学习算法的原始形式
感知机算法需要优化以下问题
采用随机梯度下降( #SGD )方法迭代优化. 注意到损失函数是关于 的线性函数,因此 然后给出具体算法.
输入: 线性可分的训练集 , , , ; 学习率 .
输出: 和对应的感知机模型 .
- 选取初值 ;
- 在训练集中选取 ;
- 如果 , 则执行
- 跳至 2,直至误分类点集合 .
在 中,正例点有 , 负例点有 . 此时最优化问题为 依据感知机学习算法的原始形式进行求解,并令 .
- 取 .
- , 说明 未被正确分类,因此更新 为
此时将模型修改为
- 此时 对 成立,但是对 不成立,因此依据 更新模型 因此线性模型为
- 此时发现 依然不成立. 继续迭代,得到
3.2 原始形式的收敛性
- 在线性可分的数据集的划分超平面中,存在 ,使得 ; 且对所有 , 存在 ,
- 令 , 则原始算法在训练数据集上的误分类次数 满足
3.3 感知机学习算法的对偶形式
在原始算法中,通过梯度下降不断对 赋予了 项, 对 不断赋予了 项,因此 有表示形式
记 为模型在全部的训练过程中为 更新的次数,则 . 事实上,更新次数越多的点离超平面越近,也就越难正确分类.
在对偶算法中,我们不改变 的训练方式,但是要改变 .
输入: .
输出: 和对应的 .
- ;
- 选取 ;
- 如果 , 更新
- 跳转到 2,直到误分类数据点集合 .
我们用 Gram 矩阵
来存储计算结果.
采用这个例子的设定,但是使用对偶形式的算法来求解.
- 取 ;
- 计算 Gram 矩阵
- 进行迭代,最后得到